网络层常见协议
教程每周二、四、六更新
ICMP协议
[root@cloudstudy function]# ping -s 65507 -f 10.0.0.137
ARP、RARP协议
ARP
ARP协议负责把IP地址解析成物理地址。
主机发送信息是将包含目标IP地址的ARP请求广播到局域网上的所有主机,并接受返回消息,以此确定目标的物理地址。收到返回消息后把该IP地址和物理地址存入本机ARP缓存中,下次请求时直接查询本地ARP缓存内容。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其保存到本地ARP缓存。
上面是在一个局域网的情况。如果2台主机不在同一个局域网怎么办?
上图通信的路径是:A-->路由器R1-->B
因此,主机A 必须知道路由器R1 的IP地址,解析出其 MAC地址。然后把IP 数据报传送到路由器 R1。A获取B主机的mac地址的过程如下:
RARP
Internet协议(IP协议)
IP协议固定首部占用20字节,加可变部分4字节,所以占用24字节。
说明:
版本:占用4位二进制数,表示该IP数据报使用的IP协议版本。目前Internet中使用的主要是TCP/IP协议族中版本号为4的IP协议。
首部长度:占用4位二进制位,此域指出整个报头的长度(包括选项),该长度是以32位二进制数为一个计数单位的,接收端通过此域可以计算出报头在何处结束及从何处开始读数据。普通IP数据报(没有任何选项)该字段的值是5(即20个字节的长度)。
区分服务:占8位,一般不使用。这个字段在旧标准中叫做服务类型,但实际上从来都没有使用过。
总长度:占用16位二进制位,总长度字段是指整个IP数据报的长度(报头区+数据区),以字节为单位。利用头部长度字段和总长度字段就可以计算出IP数据报中数据内容的起始位置和长度。由于该字段长度为16位二进制数,因此理论上IP数据报最长可达65536个字节(事实上受物理网络的限制,要比这个数值小很多)
标识:占16位,用来标识来自哪一个被分割的大包。
标志:占三位,目前只有两位有意义。最低位记为MF,为1时表示后面还有分片,为0时,这是分片数据报中的最后一个分片。中间位为DF,表示不能分片,为0时表示允许分片。
片偏移:占13位,指较长的分组在分片后,该分片在原分组中的相对位置。片偏移以8个字节为偏移单位。
生存时间:占用8位,它指定了数据报可以在网络中传输的最长寿命。实际应用中把该字段设置成了数据报可以经过的最大路由器数。TTL的初始值由源主机设置(通常为32、64、128或256),一旦经过一个处理它的路由器,它的值就减1。当该字段为0时,数据报就丢弃,并发送ICMP报文通知源主机,因此可以防止进入一个循环回路时,数据报无休止地传输下去。
协议:占用8位二进制位,IP协议可以承载各种上层协议,目标端根据协议标识就可以把收到的IP数据报送到TCP或UDP等处理此报文的上层协议了。例如:ICMP、IGMP、IP、TCP、UDP、OSPF等
首部校验和:占用16位二进制数,用于协议头数据有效性的校验,可以保证IP报头区在传输时的正确性和完整性。头部检验和字段是根据IP协议头计算出的检验和,它不对头部后面的数据进行计算。
源地址:占用32位二进制数,表示发送端IP地址。
源地址:占用32位二进制数,表示发送端IP地址。
雷哥在这个暑假决定搞一件大事:带你学Linux 云计算 运维。
课程特色:
量身定制学习计划、正规出版社书籍电子版; 雷哥一对一答疑(集中做计划学习一个月,答疑有效期一年); 雷哥督促学习进度。 点我查看详情
推荐阅读
干货 | PXE+kickstart无人值守批量装机(原理与架构)
40个简单而有效的Shell脚本,想不起来的时候一看就懂(下)
干货 | PXE+kickstart无人值守批量装机(实战部署)
ifconfig已淘汰,ip登场
Linux 网络状态工具 ss 命令详解
这次终于搞明白VLAN技术了
看完本文有收获?请分享给更多人
推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!